/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package templatemethod;

import javax.swing.JOptionPane;

/**
 *
 * @author Delvoux
 */
public abstract class Login {
    protected String login;
    protected String senha;
    protected boolean logado;
    
    public Login() {
        this.logado = false;
    }

    protected abstract boolean autentica();

    public final void doExecuta(){
        this.login = JOptionPane.showInputDialog(null, "Informe seu login:");
        this.senha = JOptionPane.showInputDialog(null, "Informe sua senha:");
        if(this.autentica()){
            this.logado = true;
            this.msgSuccessoHook();
        } else
            this.msgDadosIncorretosHook();
    }

    protected final boolean estaLogado(){
        return this.logado;
    }

    protected void msgSuccessoHook(){
        JOptionPane.showMessageDialog(null, "Você está logado no sistema!");
    }

    protected final void msgDadosIncorretosHook(){
        JOptionPane.showMessageDialog(null, "Dados incorretos!");
    }
}
